public class StaticDispatch {

	static class Human {}
	static class Man extends Human {}
	static class Woman extends Human {}

	public void sayHi(Human h) { System.out.println("Human"); }
	public void sayHi(Man h) { System.out.println("Man"); }
	public void sayHi(Woman h) { System.out.println("Woman"); }

	public static void main(String[] args) {
		Human man = new Man();
		Human woman = new Woman();
		StaticDispatch sr = new StaticDispatch();

		sr.sayHi(man);
		sr.sayHi(woman);
	}
}

// javap -verbose StaticDispatch